home *** CD-ROM | disk | FTP | other *** search
-
- {
- if(true)
- {
- CWorld = §§newclass(CWorld,Sprite);
- }
- }
-
- package Local.Game.World
- {
- import Local.*;
- import Local.Game.*;
- import Local.Game.HUD.*;
- import Local.Game.Level.*;
- import Local.Game.Thing.*;
- import Local.Game.World.Map.*;
- import Local.Game.World.Map.Cell.*;
- import STC9.IO.*;
- import STC9.System.CProfiler;
- import flash.display.*;
- import flash.events.*;
- import flash.filters.*;
- import flash.geom.*;
-
- public class CWorld extends Sprite
- {
-
-
- public var mLevel:CLevel;
-
- private var mInitialized:Boolean = false;
-
- public var mMouse:CMouse;
-
- public var mScrollDelta:Point;
-
- private var _MouseMode:String;
-
- public var mDrawPlane:Bitmap;
-
- public var mMap:CMap;
-
- public var mPlayer:CPeep;
-
- public var mLandscape:CLandscape;
-
- private var mDrawnThings:Array;
-
- public var mcDraw:MovieClip;
-
- public var mGame:CGame;
-
- public function CWorld(param1:CGame)
- {
- mScrollDelta = new Point(0,0);
- mInitialized = false;
- super();
- addEventListener(Event.ADDED_TO_STAGE,Initialize);
- }
-
- public function Dispose() : void
- {
- if(true)
- {
- RemoveMouseEvents();
- if(true)
- {
- mMouse.Dispose();
- }
- mLevel.Dispose();
- }
- }
-
- private function e_MOUSE_OUT(param1:MouseEvent = null) : void
- {
- if(true)
- {
- mMouse.mScope = false;
- }
- }
-
- private function GetMousePosition() : CPosition
- {
- return new CPosition(mouseX + mLandscape.mDrawPosition.x,mouseY + mLandscape.mDrawPosition.y);
- }
-
- public function get mHUD() : CHUD
- {
- return mGame.mHUD;
- }
-
- public function Process() : void
- {
- CProfiler.StartProfile("Thing.Process");
- §§push(mLevel);
- if(true)
- {
- if(§§pop().Process != null)
- {
- addr26:
- mLevel.Process();
- }
- mLandscape.Process();
- mMouse.Process();
- CProfiler.StopProfile("Thing.Process");
- return;
- }
- §§goto(addr26);
- }
-
- public function Draw() : void
- {
- §§push(mLandscape);
- if(true)
- {
- §§pop().StartRender();
- CProfiler.StartProfile("Landscape.Draw");
- mDrawPlane.bitmapData = mLandscape.Render();
- CProfiler.StopProfile("Landscape.Draw");
- CThingSprite.bPlane = mDrawPlane.bitmapData;
- CProfiler.StartProfile("Thing.Draw");
- Draw_Things();
- CProfiler.StopProfile("Thing.Draw");
- §§push(mLandscape);
- }
- §§pop().EndRender();
- }
-
- public function Start() : void
- {
- mLevel.Start();
- }
-
- private function e_MOUSE_MOVE(param1:MouseEvent = null) : void
- {
- if(true)
- {
- CThingSprite.mMousePosition = mMouse.mCurrentPosition = GetMousePosition();
- mMouse.mLocalPosition = new CPosition(mouseX,mouseY);
- }
- }
-
- private function e_MOUSE_UP(param1:MouseEvent) : void
- {
- §§push(mMouse);
- if(true)
- {
- §§pop().mClickPosition = GetMousePosition();
- §§push(mMouse);
- }
- §§pop().mClick = true;
- }
-
- private function e_MOUSE_OVER(param1:MouseEvent = null) : void
- {
- if(true)
- {
- mMouse.mScope = true;
- }
- }
-
- public function SetupMouseEvents() : void
- {
- if(true)
- {
- addEventListener(MouseEvent.MOUSE_OUT,e_MOUSE_OUT);
- if(true)
- {
- addEventListener(MouseEvent.MOUSE_OVER,e_MOUSE_OVER);
- if(true)
- {
- addEventListener(MouseEvent.MOUSE_MOVE,e_MOUSE_MOVE);
- addEventListener(MouseEvent.MOUSE_UP,e_MOUSE_UP);
- }
- addChild(mMouse = new CMouse(this));
- }
- e_MOUSE_MOVE();
- }
- }
-
- public function Draw_Debug() : void
- {
- var _loc1_:* = undefined;
- for each(_loc1_ in mDrawnThings)
- {
- if(true)
- {
- if(_loc1_.mCollide)
- {
- _loc1_.mCollide.Draw(CThingSprite.bPlane,mLandscape.mDrawPosition);
- }
- }
- }
- }
-
- public function Draw_Things() : void
- {
- var _loc1_:CThingSprite = null;
- if(true)
- {
- CProfiler.StartProfile("Thing.StackSort");
- }
- for each(_loc1_ in mDrawnThings)
- {
- if(true)
- {
- _loc1_.mDrawn = false;
- }
- }
- if(true)
- {
- if(true)
- {
- mDrawnThings = new Array();
- §§push(0);
- if(true)
- {
- var _loc2_:* = §§pop();
- if(true)
- {
- for each(_loc1_ in mMap.GetDrawThings(mLandscape.mDrawPosition.x - CCell.mSize * 3,mLandscape.mDrawPosition.x + CThingSprite.bPlane.width + CCell.mSize * 3))
- {
- mDrawnThings.push(_loc1_);
- }
- mDrawnThings.sortOn("zDepth",Array.NUMERIC);
- CProfiler.StopProfile("Thing.StackSort");
- addr106:
- _loc2_ = 0;
- }
- for each(_loc1_ in mDrawnThings)
- {
- if(true)
- {
- _loc1_.Draw();
- }
- }
- addr131:
- return;
- addr130:
- }
- §§goto(addr106);
- }
- §§goto(addr131);
- }
- §§goto(addr130);
- }
-
- public function Initialize(param1:Event = null) : void
- {
- if(true)
- {
- removeEventListener(Event.ADDED_TO_STAGE,Initialize);
- if(true)
- {
- mInitialized = true;
- if(true)
- {
- mGame = CGame(parent);
- if(true)
- {
- mLandscape = new CLandscape(this);
- if(true)
- {
- mMap = new CMap(mLandscape);
- }
- mLevel = new CLevel(this);
- }
- CThingBase.mGame = mGame;
- }
- addChild(mDrawPlane = new Bitmap());
- }
- SetupMouseEvents();
- }
- }
-
- public function Resize(param1:int, param2:int) : void
- {
- if(true)
- {
- mLandscape.Resize(param1,param2 - 106);
- }
- }
-
- public function Initialise() : void
- {
- CThingBase.Restart();
- mDrawnThings = new Array();
- mLevel.NextStage();
- }
-
- public function RemoveMouseEvents() : void
- {
- removeEventListener(MouseEvent.MOUSE_OUT,e_MOUSE_OUT);
- removeEventListener(MouseEvent.MOUSE_OVER,e_MOUSE_OVER);
- removeEventListener(MouseEvent.MOUSE_MOVE,e_MOUSE_MOVE);
- removeEventListener(MouseEvent.MOUSE_UP,e_MOUSE_UP);
- }
- }
- }
-